home *** CD-ROM | disk | FTP | other *** search
/ All for Cell Phones: Sony Ericsson / Sony-Ericsson 2004.iso / Java / Micro Mail / MicroMail.jar / MailSender.class (.txt) < prev    next >
Encoding:
Java Class File  |  2001-09-14  |  3.2 KB  |  105 lines

  1. public class MailSender {
  2.    private static boolean bDebug = false;
  3.    private static Message msg;
  4.  
  5.    public static boolean sendMail() {
  6.       try {
  7.          Globals.writeLine(Globals.SEND_MAILFROM + Globals.account.emailAddress);
  8.          if (!Globals.waitForMessage(Globals.FROM_OK, false)) {
  9.             return false;
  10.          } else {
  11.             String var0 = msg.to;
  12.             int var1 = 0;
  13.  
  14.             do {
  15.                int var2 = var0.indexOf(";", var1);
  16.                if (var2 < 0) {
  17.                   var2 = var0.length();
  18.                }
  19.  
  20.                Globals.writeLine(Globals.SEND_RCPTTO + var0.substring(var1, var2));
  21.                if (!Globals.waitForMessage(Globals.TO_OK, false)) {
  22.                   return false;
  23.                }
  24.  
  25.                var1 = var2 + 1;
  26.             } while(var1 < var0.length());
  27.  
  28.             Globals.writeLine(Globals.SEND_DATA);
  29.             if (!Globals.waitForMessage(Globals.DATA_OK, false)) {
  30.                return false;
  31.             } else {
  32.                if (msg.subject != null) {
  33.                   Globals.writeLine(Message.headerItems[4] + " " + msg.subject);
  34.                }
  35.  
  36.                if (Globals.account.replyAddress != null) {
  37.                   Globals.writeLine(Message.headerItems[2] + " " + Globals.account.replyAddress);
  38.                }
  39.  
  40.                Globals.writeLine(Message.headerItems[1] + " " + msg.to);
  41.                Globals.writeLine("X-Mailer: MicroMail v" + Resource.VERSION_NUMBER + " by Cocoasoft d.o.o.");
  42.                Globals.writeLine("Mime-Version: 1.0");
  43.                Globals.writeLine(Message.headerItems[5] + " text/plain;\r\tcharset=\"utf-8\"");
  44.                Globals.writeLine("Content-Transfer-Encoding: 8bit");
  45.                Globals.writeLine("");
  46.                Globals.writeBodyLine(msg.body);
  47.                Globals.writeLine(".");
  48.                Globals.out.flush();
  49.                if (!Globals.waitForMessage(Globals.OUT_OK, false)) {
  50.                   return false;
  51.                } else {
  52.                   return true;
  53.                }
  54.             }
  55.          }
  56.       } catch (Exception var3) {
  57.          MicroMail.printInfo("ERROR:" + var3.getClass());
  58.          Globals.conn = null;
  59.          return false;
  60.       }
  61.    }
  62.  
  63.    public static boolean sendMail(ProgressForm var0) {
  64.       boolean var1 = true;
  65.       int var2 = 0;
  66.       if (MicroCache.getBoxSize(2) > 0) {
  67.          int var3 = AccountHandler.getCount();
  68.  
  69.          for(int var4 = 0; var4 < var3; ++var4) {
  70.             Globals.account = AccountHandler.getAccount(var4);
  71.             if (Globals.account.accountActive) {
  72.                break;
  73.             }
  74.  
  75.             Globals.account = null;
  76.          }
  77.  
  78.          int var5 = MicroCache.getBoxSize(2);
  79.          var0.setInfo(var5, 0, Globals.account.smtpHost, MicroMail.r.getText(19), (String)null);
  80.          if (Globals.connectToServer(false)) {
  81.             for(int var6 = var5 - 1; var6 >= 0; --var6) {
  82.                var0.setInfo(-1, var2, (String)null, " " + var2 + "/" + var5 + MicroMail.r.getText(46), (String)null);
  83.                msg = MicroCache.getMessage(2, var6);
  84.                if (sendMail()) {
  85.                   MicroCache.moveMessageToSent(var6, msg);
  86.                } else {
  87.                   var1 = false;
  88.                }
  89.  
  90.                ++var2;
  91.                System.gc();
  92.             }
  93.  
  94.             var0.setInfo(-1, var5, (String)null, " " + var5 + "/" + var5 + MicroMail.r.getText(46), (String)null);
  95.             Globals.disconnectFromServer(false);
  96.          } else {
  97.             var1 = false;
  98.             var0.setInfo(-1, -1, (String)null, MicroMail.r.getText(20), (String)null);
  99.          }
  100.       }
  101.  
  102.       return var1;
  103.    }
  104. }
  105.